# Fedora atomic 系统扩容最佳实践 ## 环境介绍 系统安装在pve虚拟机中,系统fedora atomic xfce 43. 在使用一段时间后,硬盘只剩下3G,需要增加硬盘容量。 需要准备一个atomic系统镜像,需要用到btrfs。 ## Step 1 增加虚拟机硬盘容量 先将虚拟机关机,在虚拟机管理页面Hardware + HardDisk + Disk Action + Resize 在弹窗中填入希望增加的容量,这次是增加64G。 ## Step 2 在系统中增加容量 ### 检查当前系统容量情况 ```shell $ df -h Filesystem Size Used Avail Use% Mounted on composefs 38M 38M 0 100% / /dev/sda3 62G 58G 3.1G 95% /etc $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 128G 0 disk ├─sda1 8:1 0 600M 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 61.4G 0 part /var/home /var /sysroot/ostree/deploy/fedora/var /sysroot /etc sr0 11:0 1 1024M 0 rom zram0 251:0 0 7.7G 0 disk [SWAP] ``` ### 安装分区软件 ```shell $ sudo rpm-ostree install cloud-utils-growpart # 安装后重启生效 $ sudo systemctl reboot ``` ### 对分区进行扩容 ```shell # 注意这里/sda 3,有个空格 $ sudo growpart /dev/sda 3 CHANGED: partition=3 start=5425152 old: size=128790528 end=134215679 new: size=263010271 end=268435422 ``` ### 查询当前容量情况 ```shell $ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 128G 0 disk ├─sda1 8:1 0 600M 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 125.4G 0 part /var/home /var /sysroot/ostree/deploy/fedora/var /sysroot /etc sr0 11:0 1 1024M 0 rom zram0 251:0 0 7.7G 0 disk [SWAP] $ df -h Filesystem Size Used Avail Use% Mounted on composefs 38M 38M 0 100% / /dev/sda3 62G 56G 4.7G 93% /etc ``` 分区已经扩容,文件系统还未扩容。 ## Step 3 扩容系统容量 因为ostree系统的不可变特性,需要在外部更新系统容量。 ### 使用live OS启动镜像 在pve配置镜像启动,如果是进入镜像就出现安装界面,按ctrl + alt + f2切换字符界面。 ### 创建挂载文件夹并挂载 ```shell $ mkdir /opt # 查询分区 $ lsblk sda3 8:3 0 125.4G 0 part # 挂载分区 $ mount /dev/sda3 /opt ``` ### 更新系统容量 挂载后可对系统进行操作 ```shell $ btrfs filesystem resize max /opt ``` ### 确认系统容量 ```shell $ df -h Filesystem Size Used Avail Use% Mounted on composefs 38M 38M 0 100% / /dev/sda3 126G 55G 70G 45% /etc ``` ## Step 4 总结 通过上面的流程可以看出来,理论上,可以将扩容分区和扩容系统都放在live镜像中执行,只要镜像中有growpard和btrfs软件。即 pve增加容量 + 关机添加live cd + 从cd启动 + 扩容指定分区 +扩容文件系统。